The invention relates to circuits for emulating single chip microcomputers that have no external address and data buses, and more particularly to emulator circuits for emulating the operation of the Intel 8051 family of single chip microcomputers without utilizing a custom 8051 "bond out chip" that is proprietary to Intel and is not sold commercially.
These skilled in the art are aware of the fact that most presently commercially available integrated circuit "microprocessors" can be broadly classified into two categories, including single chip microcomputers and general purpose microprocessors. Single chip microcomputers incorporate on a single silicon chip a CPU (Central Processing Unit), a random access memory, a read only memory, various control or input/output functions, and various input/output ports. General purpose microprocessors, on the other hand, usually include only the CPU. Their internal address buses and internal data buses are coupled by suitable buffers and/or multiplexers to external data and address buses. Most single chip microcomputers can be operated either as a single chip microcomputer, i.e., in a "single chip mode" or as a general purpose microprocessor, i.e., in a "microprocessor mode". If a single chip integrated circuit microcomputer is to be operated in its "microprocessor mode", it "reconfigures" some of its input/output (I/O) ports as an address/data bus. In this mode, such I/O ports lose their functionality as I/O ports. In contrast, if the single chip microcomputer is operated in its "single chip mode", random access memory (RAM) and read only memory (ROM) on the chip, rather than external RAM and ROM, are utilized, so that all the I/O ports are available for their intended use.
Whether a single chip microcomputer operates in its microprocessor mode or its single chip mode is usually determined by a "strapping option" for one "external access" (EA)* lead of the integrated circuit. For example, if that lead is connected to the positive power supply, the integrated circuit operates in its single chip mode, but if the (EA)* lead is connected to the ground conductor, then the integrated circuit operates in its microprocessor mode.
Presently, the Intel 8051 single chip microcomputer is probably the one most commonly used. It has four I/O ports, named Port 0, Port 1, Port 2, and Port 3, each of which are eight-bit digital I/O ports that can be used for general purpose input/output functions. The EA* (External Access) lead of the Intel 8051 (hereinafter, simply the 8051) is connected to the positive power supply +V.sub.CC. If the EA*lead is connected to ground, the very same chip, i.e., integrated circuit, is referred to as the 8031 microprocessor, or simply as the 8031. (Hereinafter, the term "chip" and "integrated circuit" are interchangeable). In the 8031, Port 0 and Port 2 are configured as a multiplexed address/data bus. The 8031 has the characteristic that any logic levels stored in the internal Port 0 register are destroyed each memory cycle. The Port 2 register is not destroyed. However, Port 2 leads emit the high addresses, so the latched data does not appear on the Port 2 leads. This fact, in addition to the fact that the internal data bus and address bus of the 8051 are inaccessible from outside of the chip, makes it very difficult for companies other than Intel (which manufactures a proprietary bond out chip for its own use only) to make economical emulators that are capable of emulating the 8051. Yet, the popularity of the 8051 indicates that there should be a very attractive market for in-circuit 8051 emulators.
Those skilled in the art realize that microcomputer application design engineers find it very convenient to have real-time in-circuit emulators that provide direct control over the execution of programs being developed for the single chip microcomputers or single chip general purpose microprocessors. Such emulators enable the design engineers to determine whether their programs are operating as expected, and make it relatively easy to debug such programs. Unfortunately, up to now it has been essential, as a practical matter, to have external access to the internal address and data bus for a microprocessor or single chip microcomputer in order to design an in-circuit emulator therefor. For single chip microcomputers wherein external access to the internal address and data bus is not provided, microprocessor manufacturers usually have fabricated, for their own internal use only, various "bond out chips", which are "semi-custom" versions of their commercially marketed single chip microcomputers, that "bond out" the internal data and address buses to leads of a suitable IC (integrated circuit) package. Generally, such "bond-out chips" are not available for purchase by the public. This enables the single chip microcomputer manufacturer to essentially "lock up" the market for systems which can economically emulate for the single chip microcomputers.
At the present state of the art, most engineers in the IC microprocessor/microcomputer emulator industry believe that it is, as a practical matter, impossible to build an economical real time in-circuit emulator for the 8051 single chip microcomputer without a bond-out chip. To my knowledge, all 8051 emulators commercially available to date use bond-out chips.
Thus, the commercial market for 8051 in-circuit emulators is not very competitive, and there remains an unmet need for relatively low-cost real time in-circuit emulators for the 8051 single chip microcomputer.